home *** CD-ROM | disk | FTP | other *** search
/ PC Open 108 / PC Open 108 CD 1.bin / CD1 / INTERNET / EMAIL / Enigmail / enigmail-it-IT-0.9x.xpi / install.js < prev    next >
Encoding:
JavaScript  |  2005-03-25  |  2.1 KB  |  72 lines

  1. // Install script for Enigmail it-IT language pack
  2.  
  3. var err;
  4. const APP_VERSION="0.91.0";
  5.  
  6. err = initInstall("Enigmail it-IT Language pack",  // name for install UI
  7.                   "/enigmail-it-IT",   // registered name
  8.                   APP_VERSION+".0");         // package version
  9.  
  10. logComment("initInstall: " + err);
  11.  
  12. var srDest = 15;       // Disk space required for installation (KB)
  13.  
  14. var fProgram    = getFolder("Program");
  15. logComment("fProgram: " + fProgram);
  16.  
  17. if (!verifyDiskSpace(fProgram, srDest)) {
  18.   cancelInstall(INSUFFICIENT_DISK_SPACE);
  19.  
  20. } else {
  21.  
  22.   var fChrome     = getFolder("Chrome");
  23.  
  24.   // addDirectory: blank, archive_dir, install_dir, install_subdir
  25.   addDirectory("", "chrome",        fChrome,     "");
  26.  
  27.   err = getLastError();
  28.   if (err == ACCESS_DENIED) {
  29.     alert("Unable to write to components directory "+fChrome+".\n You will need to restart the browser with administrator/root privileges to install this software. After installing as root (or administrator), you will need to restart the browser one more time, as a privileged user, to register the installed software.\n After the second restart, you can go back to running the browser without privileges!");
  30.  
  31.     cancelInstall(ACCESS_DENIED);
  32.  
  33.   } else if (err != SUCCESS) {
  34.     cancelInstall(err);
  35.  
  36.   } else {
  37.     // Register chrome
  38.  
  39.     registerChrome( LOCALE | DELAYED_CHROME, getFolder("Chrome","enigmail-it-IT.jar"), "locale/it-IT/enigmail/");
  40.  
  41.     err = getLastError();
  42.  
  43.     if (err != SUCCESS) {
  44.       cancelInstall(err);
  45.  
  46.     } else {
  47.       performInstall();
  48.     }
  49.   }
  50. }
  51.  
  52. // this function verifies disk space in kilobytes
  53. function verifyDiskSpace(dirPath, spaceRequired) {
  54.   var spaceAvailable;
  55.  
  56.   // Get the available disk space on the given path
  57.   spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
  58.  
  59.   // Convert the available disk space into kilobytes
  60.   spaceAvailable = parseInt(spaceAvailable / 1024);
  61.  
  62.   // do the verification
  63.   if(spaceAvailable < spaceRequired) {
  64.     logComment("Insufficient disk space: " + dirPath);
  65.     logComment("  required : " + spaceRequired + " K");
  66.     logComment("  available: " + spaceAvailable + " K");
  67.     return false;
  68.   }
  69.  
  70.   return true;
  71. }
  72.